package com.gzz.orchid.context.domain.inventory.entity;

import com.gzz.orchid.common.core.tuple.Money;
import com.gzz.orchid.common.core.tuple.OrderNo;
import com.gzz.orchid.common.core.tuple.Receiver;
import com.gzz.orchid.context.infrastructure.definition.Status;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Set;

/**
 * 配送单（发货单 / 出库单）
 * 英文全称: Delivery Note / Dispatch Note / Shipping List
 * 常用缩写: D/N
 * 解释: 随货物一起发送给客户的单据，列出了发出的货物清单。
 * 客户签收此单作为收货凭证。
 * 它不是要求付款的票据。
 *
 * @author higmd
 */
@Data
public class DeliveryDo {
    /**
     * 单据编号
     */
    private OrderNo no;
    /**
     * 单据时间
     */
    private LocalDateTime timeAt;
    /**
     * 处理人
     */
    private String handler;
    /**
     * 金额
     */
    private Money amount;
    /**
     * 备注
     */
    private String memo;
    /**
     * 收货人信息
     */
    private Receiver receiver;
    /**
     * 状态
     */
    private Status status;
    /**
     * 订单明细
     */
    private Set<OrderDetail> items;
}
